.TH "ANI-CLI" "1" "January 2023" "ani-cli" "User Commands"
.SH NAME
ani-cli \- watch anime from the commandline
.SH SYNOPSIS
.B ani-cli
[\fI\,OPTIONS\/\fR]
.SH DESCRIPTION
A shell script to browse and search anime from the command-line.
.PD 0
.P
.PD
This tool scrapes the site allanime.
.PD 0
.P
.PD
\f[B]ani-cli\f[R] without options defaults to iina on macOS, flatpak mpv on Steamdeck, mpv apk on android, vlc on iOS and mpv media player everywhere else.
.SH OPTIONS
.TP
\fB\-e | --episode | -r | --range\fR \fI\,<episode>\/\fR
Specify the episode numbers to watch. If range is specified it should be quoted or separated by a non-numeric character (eg. -).
.TP
\fB\-c | --continue\fR
Continue watching anime from history.
.TP
\fB\-d | --download\fR
Download episode.
.TP
\fB\-D | --delete\fR
Delete history.
.TP
\fB\-l | --logview\fR
Show logs.
.TP
\fB\-h | --help\fR
Show summary of options.
.TP
\fB\-q | --quality\fR \fI\,<best|worst|360|480|720|1080>\/\fR
Set the video quality. Default quality is best.
.TP
\fB\-s | --syncplay\fR
Watch anime together with friends, using Syncplay (works with mpv only).
.TP
\fB\-U | --update\fR
Fetch update from github.
.TP
\fB\-v | --vlc\fR
Use VLC as the media player.
.TP
\fB\-S | --select-nth\fR \fI\,<index>\/\fR
Selects nth entry.
.TP
\fB\-N | --nextep-countdown\fR
Prints a countdown to the next episode as the last episode in the list. If in history is after the current episode.
.TP
\fB\--dub\fR
Play the dubbed version. Without this flag, it'll always play the subbed version.
.TP
\fB\--rofi\fR
Use rofi instead of fzf for the interactive menu
.TP
\fB\--skip\fR
Use ani-skip to skip the intro of the episode (mpv only)
.TP
\fB\--no-detach\fR
Don't detach the player (useful for in-terminal playback, mpv only)
.TP
\fB\--exit-after-play\fR
Exit the player, and return the player exit code (useful for non interactive scenarios, mpv only)
.TP
\fB\--skip-title\fR \fI\,<title>\/\fR
Specify the title to use for ani-skip
.PP
.SH
ENVIRONMENT VARIABLES
.PP
ani-cli v4 uses environment variables to control unstable/untested and niche features in addition to everything that has an option. Command-line options take precedence over env vars. Note that these are all subject to change.
.TP
\fBANI_CLI_MODE\fR
Controls the scraped media's mode, valid options are sub or dub. Default is sub.
.TP
\fBANI_CLI_DOWNLOAD_DIR\fR
Controls the directory where files are downloaded. Default is the current dir.
.TP
\fBANI_CLI_QUALITY\fR
Controls the scraped media's quality, check allanime for valid options or set to worst/best. Default is best.
.TP
\fBANI_CLI_PLAYER\fR
Sets the player ani-cli uses. Can be debug (print links), download (equivalent to -d), android_mpv (apk and am start), android_vlc (apk and am start), flatpak_mpv (for flatpak), catt (for streaming to tv), or any player that can play urls. For defaults see working without arguments.
.TP
\fBANI_CLI_EXTERNAL_MENU\fR
Controls the frontend of ani-cli. Can be 0 (uses fzf) or 1 (uses rofi dmenu). Default is 0.
.TP
\fBANI_CLI_EXTERNAL_MENU_NORMAL_WINDOW\fR
Controls the way rofi displays the window. Can be 0 (no additional arguments passed to rofi) or 1 (the menu is displayed as a normal window, -normal-window argument is passed to rofi). Default is 0.
.TP
\fBANI_CLI_LOG_EPISODE\fR
Controls the logging feature for playback. Can be 1(logs) or 0(doesn't log). Default is 1.
.TP
\fBANI_CLI_MULTI_SELECTION\fR
Controls the multi flag for the chosen frontend. Default is -m for fzf and --multi-select for rofi dmenu.
.TP
\fBANI_CLI_HIST_DIR\fR
Controls the directory ani-cli uses for storing history. A /ani-cli subfolder is created there for the histfile if doesn't exists. Default is $XDG_STATE_HOME if set, $HOME/.local/state if not.
.TP
\fBANI_CLI_DEFAULT_SOURCE\fR
Controls the default source. Valid is history (equivalent to -c), everything else means search. Default is search.
.TP
\fBANI_CLI_SKIP_INTRO\fR
Controls if ani-skip is used to skip intros (works with mpv only). Can be 0 (disabled) or 1 (enabled). Default is 0.
.TP
\fBANI_CLI_NO_DETACH\fR
Controls if mpv is detached from the main process for playback, which can be useful for use with terminal renderers such as kitty. (works with mpv only). Can be 0 (disabled) or 1 (enabled). Default is 0.
.TP
\fBANI_CLI_SKIP_TITLE\fR
Overrides the anime title to query for skip times. Can be any string value. Default is empty, resolving to the anime title as given by ani-cli.
.PP
.SH EPISODE SELECTION
.PP
Multiple episodes can be chosen using fzf (or alternative frontend's) multi-selection mode. For this refer to their instructions.
.SH BUGS
.PP
Use the GitHub issue tracker:
https://github.com/pystardust/ani-cli/issues
.SH COPYRIGHT
.PP
ani-cli is licensed under the GNU General Public License v3.0
.PP
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.PP
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
